#import <UIKit/UIKit.h>
#import "TouchableWindowDelegate.h"

/**
 * A TouchableWindow is a window that is touchable and delegates
 * events to any subviews it contains
 * 
 * @author      James Lin
 * @version     2.3.0
 * @since       1.0.0
 */
@interface TouchableWindow : UIWindow {
	UIView*                     mainView;      // The main view
	id<TouchableWindowDelegate> firstDelegate; // Delegates handling touch events
	id<TouchableWindowDelegate> secDelegate;   // Alternate delegate handling touch
}

/**
 * Initialize the touchable window.
 *
 * @param theView       the main view from which to intercept touch events
 * @param theDelegates  the delegates handling touchable window events
 * @return              the initialized TouchableWindow
 */
- (id)initWithView:(UIView*)theView 
		 delegates:(NSArray*)theDelegates;

@end
